Explicit events for registering cni configuration

This commit is contained in:
Pearl Dsilva 2024-07-08 08:03:17 -04:00 committed by nvazquez
parent e5d377a1ad
commit b3ff5a3eef
No known key found for this signature in database
GPG Key ID: 656E1BCC8CB54F84
3 changed files with 32 additions and 16 deletions

View File

@ -59,9 +59,10 @@ import org.apache.cloudstack.api.command.user.ssh.CreateSSHKeyPairCmd;
import org.apache.cloudstack.api.command.user.ssh.DeleteSSHKeyPairCmd;
import org.apache.cloudstack.api.command.user.ssh.ListSSHKeyPairsCmd;
import org.apache.cloudstack.api.command.user.ssh.RegisterSSHKeyPairCmd;
import org.apache.cloudstack.api.command.user.userdata.BaseRegisterUserDataCmd;
import org.apache.cloudstack.api.command.user.userdata.DeleteUserDataCmd;
import org.apache.cloudstack.api.command.user.userdata.ListUserDataCmd;
import org.apache.cloudstack.api.command.user.userdata.RegisterCniConfigurationCmd;
import org.apache.cloudstack.api.command.user.userdata.RegisterUserDataCmd;
import org.apache.cloudstack.api.command.user.vm.GetVMPasswordCmd;
import org.apache.cloudstack.api.command.user.vmgroup.UpdateVMGroupCmd;
import org.apache.cloudstack.config.Configuration;
@ -362,14 +363,21 @@ public interface ManagementService {
*/
Pair<List<? extends UserData>, Integer> listUserDatas(ListUserDataCmd cmd, boolean forCks);
/**
* Registers a cni configuration.
*
* @param cmd The api command class.
* @return A VO with the registered userdata.
*/
UserData registerCniConfigration(RegisterCniConfigurationCmd cmd);
/**
* Registers a userdata.
*
* @param cmd The api command class.
* @param forCks
* @return A VO with the registered userdata.
*/
UserData registerUserData(BaseRegisterUserDataCmd cmd);
UserData registerUserData(RegisterUserDataCmd cmd);
/**
* Deletes a userdata.
*

View File

@ -57,7 +57,7 @@ public class RegisterCniConfigurationCmd extends BaseRegisterUserDataCmd {
@Override
public void execute() {
UserData result = _mgr.registerUserData(this);
UserData result = _mgr.registerCniConfigration(this);
UserDataResponse response = _responseGenerator.createUserDataResponse(result);
response.setResponseName(getCommandName());
response.setObjectName(ApiConstants.CNI_CONFIG);

View File

@ -4878,26 +4878,34 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
}
@Override
@ActionEvent(eventType = EventTypes.EVENT_REGISTER_USER_DATA, eventDescription = "registering userdata", async = true)
public UserData registerUserData(final BaseRegisterUserDataCmd cmd) {
@ActionEvent(eventType = EventTypes.EVENT_REGISTER_CNI_CONFIG, eventDescription = "registering CNI configration", async = true)
public UserData registerCniConfigration(RegisterCniConfigurationCmd cmd) {
final Account owner = getOwner(cmd);
checkForUserDataByName(cmd, owner);
final String name = cmd.getName();
boolean forCks = false;
String userdata = null;
if (cmd instanceof RegisterUserDataCmd) {
userdata = ((RegisterUserDataCmd) cmd).getUserData();
checkForUserData(((RegisterUserDataCmd) cmd), owner);
} else {
userdata = ((RegisterCniConfigurationCmd) cmd).getCniConfig();
forCks = true;
}
String userdata = cmd.getCniConfig();
final String params = cmd.getParams();
userdata = userDataManager.validateUserData(userdata, cmd.getHttpMethod());
return createAndSaveUserData(name, userdata, params, owner, forCks);
return createAndSaveUserData(name, userdata, params, owner, true);
}
@Override
@ActionEvent(eventType = EventTypes.EVENT_REGISTER_USER_DATA, eventDescription = "registering userdata", async = true)
public UserData registerUserData(final RegisterUserDataCmd cmd) {
final Account owner = getOwner(cmd);
checkForUserDataByName(cmd, owner);
final String name = cmd.getName();
String userdata = cmd.getUserData();
checkForUserData(cmd, owner);
final String params = cmd.getParams();
userdata = userDataManager.validateUserData(userdata, cmd.getHttpMethod());
return createAndSaveUserData(name, userdata, params, owner, false);
}
/**