blob: e414f12df501e7969fd007b28eacd74f5ed079b6 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.test.utils;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.util.StringTokenizer;
public class IpSqlGenerator {
public static void main(String[] args) {
try {
if (args.length != 5) {
System.out.println("Usage -- generate-ip.sh <public|private> <begin ip range> <end ip range> <data center id> <pod id>");
System.out.println("Example -- generate-ip.sh public 192.168.1.1 192.168.1.255 1 1");
System.out.println(" will generate ips ranging from public ips 192.168.1.1 to 192.168.1.255 for dc 1 and pod 1");
return;
}
String type = args[0];
StringTokenizer st = new StringTokenizer(args[1], ".");
int ipS1 = Integer.parseInt(st.nextToken());
int ipS2 = Integer.parseInt(st.nextToken());
int ipS3 = Integer.parseInt(st.nextToken());
int ipS4 = Integer.parseInt(st.nextToken());
st = new StringTokenizer(args[2], ".");
int ipE1 = Integer.parseInt(st.nextToken());
int ipE2 = Integer.parseInt(st.nextToken());
int ipE3 = Integer.parseInt(st.nextToken());
int ipE4 = Integer.parseInt(st.nextToken());
String dcId = args[3];
String podId = args[4];
if (type.equals("private")) {
FileOutputStream fs = new FileOutputStream(new File("private-ips.sql"));
DataOutputStream out = new DataOutputStream(fs);
for (int i = ipS1; i <= ipE1; i++) {
for (int j = ipS2; j <= ipE2; j++) {
for (int k = ipS3; k <= ipE3; k++) {
for (int l = ipS4; l <= ipE4; l++) {
out.writeBytes("INSERT INTO `vmops`.`dc_ip_address_alloc` (ip_address, data_center_id, pod_id) VALUES ('" + i + "." + j + "." + k + "." +
l + "'," + dcId + "," + podId + ");\r\n");
}
}
}
}
out.writeBytes("\r\n");
out.flush();
out.close();
} else {
FileOutputStream fs = new FileOutputStream(new File("public-ips.sql"));
DataOutputStream out = new DataOutputStream(fs);
for (int i = ipS1; i <= ipE1; i++) {
for (int j = ipS2; j <= ipE2; j++) {
for (int k = ipS3; k <= ipE3; k++) {
for (int l = ipS4; l <= ipE4; l++) {
out.writeBytes("INSERT INTO `vmops`.`user_ip_address` (ip_address, data_center_id) VALUES ('" + i + "." + j + "." + k + "." + l + "'," +
dcId + ");\r\n");
}
}
}
}
out.writeBytes("\r\n");
out.flush();
out.close();
}
} catch (Exception e) {
logger.info("[ignored]"
+ "error during ip insert generator: " + e.getLocalizedMessage());
}
}
}