Small CR and preparatory work for CI
This commit is contained in:
parent
9252b4e779
commit
da04033abc
|
|
@ -191,7 +191,8 @@ jobs:
|
|||
max-parallel: 1
|
||||
matrix:
|
||||
config:
|
||||
- zfs-generic/iscsi.yaml
|
||||
- zfs-generic/iscsi-pcs.yaml
|
||||
- zfs-generic/iscsi-targetcli.yaml
|
||||
- zfs-generic/nfs.yaml
|
||||
- zfs-generic/smb.yaml
|
||||
- zfs-generic/nvmeof.yaml
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
driver: zfs-generic-iscsi
|
||||
|
||||
sshConnection:
|
||||
host: ${SERVER_HOST}
|
||||
port: 22
|
||||
username: ${SERVER_USERNAME}
|
||||
password: ${SERVER_PASSWORD}
|
||||
|
||||
zfs:
|
||||
datasetParentName: tank/ci/${CI_BUILD_KEY}/v
|
||||
detachedSnapshotsDatasetParentName: tank/ci/${CI_BUILD_KEY}/s
|
||||
|
||||
zvolCompression:
|
||||
zvolDedup:
|
||||
zvolEnableReservation: false
|
||||
zvolBlocksize:
|
||||
|
||||
iscsi:
|
||||
targetPortal: ${SERVER_HOST}
|
||||
interface: ""
|
||||
namePrefix: "csi-ci-${CI_BUILD_KEY}-"
|
||||
nameSuffix: ""
|
||||
shareStrategy: "pcs"
|
||||
shareStrategyPcs:
|
||||
pcs_group: "group-nas"
|
||||
basename: "iqn.2003-01.org.linux-iscsi.ubuntu-19.x8664"
|
||||
auth:
|
||||
enabled: 0
|
||||
|
|
@ -302,25 +302,22 @@ create /backstores/block/${assetName}
|
|||
basename = this.options.iscsi.shareStrategyPcs.basename;
|
||||
pcs_group = this.options.iscsi.shareStrategyPcs.pcs_group;
|
||||
|
||||
let groupText = `group ${pcs_group}`;
|
||||
let createTargetText = [
|
||||
`resource create --future target-${assetName} iSCSITarget`,
|
||||
'implementation="lio-t"',
|
||||
`iqn="${basename}:${assetName}"`
|
||||
let groupTerms = ['group', `${pcs_group}`];
|
||||
let createTargetTerms = [
|
||||
'resource', 'create', '--future', `target-${assetName}`, 'iSCSITarget',
|
||||
'implementation="lio-t"', `iqn="${basename}:${assetName}"`
|
||||
];
|
||||
|
||||
if (this.options.iscsi.shareStrategyPcs.auth.enabled) {
|
||||
createTargetText.push(`incoming_username="${this.options.iscsi.shareStrategyPcs.auth.incoming_username}"`);
|
||||
createTargetText.push(`incoming_password="${this.options.iscsi.shareStrategyPcs.auth.incoming_password}"`);
|
||||
createTargetTerms.push(`incoming_username="${this.options.iscsi.shareStrategyPcs.auth.incoming_username}"`);
|
||||
createTargetTerms.push(`incoming_password="${this.options.iscsi.shareStrategyPcs.auth.incoming_password}"`);
|
||||
}
|
||||
|
||||
createTargetText.push(groupText);
|
||||
|
||||
await GeneralUtils.retry(
|
||||
3,
|
||||
2000,
|
||||
async () => {
|
||||
await this.pcsCommand(createTargetText);
|
||||
await this.pcsCommand(createTargetTerms.concat(groupTerms));
|
||||
},
|
||||
{
|
||||
retryCondition: (err) => {
|
||||
|
|
@ -332,19 +329,17 @@ create /backstores/block/${assetName}
|
|||
}
|
||||
);
|
||||
|
||||
let createLunText = [
|
||||
`resource create --future lun-${assetName} iSCSILogicalUnit`,
|
||||
'implementation="lio-t"',
|
||||
`target_iqn="${basename}:${assetName}" lun="1"`,
|
||||
`path="/dev/${extentDiskName}"`,
|
||||
groupText
|
||||
let createLunTerms = [
|
||||
'resource', 'create', '--future', `lun-${assetName}`, 'iSCSILogicalUnit',
|
||||
'implementation="lio-t"', `target_iqn="${basename}:${assetName}" lun="1"`,
|
||||
`path="/dev/${extentDiskName}"`
|
||||
];
|
||||
|
||||
await GeneralUtils.retry(
|
||||
3,
|
||||
2000,
|
||||
async () => {
|
||||
await this.pcsCommand(createLunText);
|
||||
await this.pcsCommand(createLunTerms.concat(groupTerms));
|
||||
},
|
||||
{
|
||||
retryCondition: (err) => {
|
||||
|
|
@ -754,7 +749,7 @@ delete ${assetName}
|
|||
break;
|
||||
case "pcs":
|
||||
let deleteLunText = [
|
||||
`resource delete lun-${assetName}`
|
||||
'resource', 'delete', `lun-${assetName}`
|
||||
];
|
||||
|
||||
await GeneralUtils.retry(
|
||||
|
|
@ -774,7 +769,7 @@ delete ${assetName}
|
|||
);
|
||||
|
||||
let deleteTargetText = [
|
||||
`resource delete target-${assetName}`
|
||||
'resource', 'delete', `target-${assetName}`
|
||||
];
|
||||
|
||||
await GeneralUtils.retry(
|
||||
|
|
@ -962,7 +957,7 @@ save_config filename=${this.options.nvmeof.shareStrategySpdkCli.configPath}
|
|||
}
|
||||
}
|
||||
|
||||
async pcsCommand(commandLines) {
|
||||
async pcsCommand(commandTerms) {
|
||||
const execClient = this.getExecClient();
|
||||
const driver = this;
|
||||
|
||||
|
|
@ -978,7 +973,7 @@ save_config filename=${this.options.nvmeof.shareStrategySpdkCli.configPath}
|
|||
|
||||
let cliCommand = [];
|
||||
cliCommand.push(cliArgs.join(" "));
|
||||
cliCommand.push(commandLines.join(" "));
|
||||
cliCommand.push(commandTerms.join(" "));
|
||||
args.push("'" + cliCommand.join(" ") + "'");
|
||||
|
||||
let logCommandTmp = command + " " + args.join(" ");
|
||||
|
|
@ -994,7 +989,7 @@ save_config filename=${this.options.nvmeof.shareStrategySpdkCli.configPath}
|
|||
}
|
||||
});
|
||||
|
||||
driver.ctx.logger.verbose("Pcs command:" + logCommand);
|
||||
driver.ctx.logger.verbose("pcs command:" + logCommand);
|
||||
|
||||
let options = {
|
||||
pty: true,
|
||||
|
|
@ -1004,7 +999,7 @@ save_config filename=${this.options.nvmeof.shareStrategySpdkCli.configPath}
|
|||
options
|
||||
);
|
||||
driver.ctx.logger.verbose(
|
||||
"Pcs response: " + JSON.stringify(response)
|
||||
"pcs response: " + JSON.stringify(response)
|
||||
);
|
||||
if (response.code != 0) {
|
||||
throw response;
|
||||
|
|
|
|||
Loading…
Reference in New Issue