| // 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) { |
| s_logger.info("[ignored]" |
| + "error during ip insert generator: " + e.getLocalizedMessage()); |
| } |
| } |
| } |