Skip to content

Commit

Permalink
attach ipv6 bug fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Yohann0617 committed Jan 23, 2025
1 parent 88864f2 commit 12675c8
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 29 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ COPY . .

# 执行Maven构建并将构建的jar文件复制到指定目录
RUN mvn clean package -DskipTests \
&& cp target/oci-helper-1.0.5.jar /app/oci-helper.jar
&& cp target/oci-helper-1.0.6.jar /app/oci-helper.jar

# 支持AMD、ARM两种架构的镜像
FROM openjdk:8-jre
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ mkdir -p /app/oci-helper/keys && cd /app/oci-helper
### 2. 下载文件

1. 下载`Releases`中最新的`application.yml``oci-helper.db`这两个文件到`/app/oci-helper`目录下,并修改`application.yml`部分配置。
2. 如不使用 docker 部署则再下载一个`ocihelper-1.0.5.jar`文件到`/app/oci-helper`目录下,直接`nohup java -jar ocihelper-1.0.5.jar > /var/log/oci-helper.log &`运行即可(前提是环境上要有`jre8``jdk8`以上的环境)。
2. 如不使用 docker 部署则再下载一个`ocihelper-1.0.6.jar`文件到`/app/oci-helper`目录下,直接`nohup java -jar ocihelper-1.0.6.jar > /var/log/oci-helper.log &`运行即可(前提是环境上要有`jre8``jdk8`以上的环境)。
3. 后续如果更新jar包或者docker镜像,需要安装sqlite并运行`sh_oci-helper_install.sh`中更新版本号的命令(自行解决)。

### 3. docker部署
Expand Down
2 changes: 1 addition & 1 deletion README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ mkdir -p /app/oci-helper/keys && cd /app/oci-helper
### 2. Download files

1. Download the latest `application.yml` and `oci-helper.db` files in `Releases` to the `/app/oci-helper` directory, and modify some configurations of `application.yml`.
2. If you do not use docker deployment, download another `ocihelper-1.0.5.jar` file to the `/app/oci-helper` directory, and run it directly `nohup java -jar ocihelper-1.0.5.jar > /var/log/oci-helper.log &` (the prerequisite is that the environment must have `jre8` or `jdk8` or above).
2. If you do not use docker deployment, download another `ocihelper-1.0.6.jar` file to the `/app/oci-helper` directory, and run it directly `nohup java -jar ocihelper-1.0.6.jar > /var/log/oci-helper.log &` (the prerequisite is that the environment must have `jre8` or `jdk8` or above).
3. If you update the jar package or docker image later, you need to install sqlite and run the command to update the version number in `sh_oci-helper_install.sh` (solve it yourself).

### 3. Docker deployment
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.yohann</groupId>
<artifactId>oci-helper</artifactId>
<version>1.0.5</version>
<version>1.0.6</version>
<name>oci-helper</name>
<description>oci helper</description>
<properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -609,21 +609,12 @@ synchronized private Subnet createSubnet(
return null;
}
} else {
// List<String> ipv6CidrBlocks = vcn.getIpv6PrivateCidrBlocks();
// String v6Cidr;
// if (null == ipv6CidrBlocks || ipv6CidrBlocks.isEmpty()) {
// v6Cidr = IPV6_CIDR_BLOCK;
// } else {
// v6Cidr = ipv6CidrBlocks.get(0);
// }
// String subnetV6Cidr = v6Cidr.replaceAll("/56", "/64");
CreateSubnetDetails createSubnetDetails =
CreateSubnetDetails.builder()
.availabilityDomain(availabilityDomain.getName())
.compartmentId(compartmentId)
.displayName(subnetName)
.cidrBlock(networkCidrBlock)
// .ipv6CidrBlock(subnetV6Cidr)
.vcnId(vcn.getId())
.routeTableId(vcn.getDefaultRouteTableId())
.build();
Expand Down Expand Up @@ -1159,10 +1150,10 @@ public BootVolume getBootVolumeByInstanceId(String instanceId) {
List<AvailabilityDomain> availabilityDomains = getAvailabilityDomains(identityClient, compartmentId);
for (AvailabilityDomain availabilityDomain : availabilityDomains) {
List<String> BootVolumeIdList = computeClient.listBootVolumeAttachments(ListBootVolumeAttachmentsRequest.builder()
.availabilityDomain(availabilityDomain.getName())
.compartmentId(compartmentId)
.instanceId(instanceId)
.build()).getItems()
.availabilityDomain(availabilityDomain.getName())
.compartmentId(compartmentId)
.instanceId(instanceId)
.build()).getItems()
.stream().map(BootVolumeAttachment::getBootVolumeId)
.filter(Objects::nonNull)
.collect(Collectors.toList());
Expand All @@ -1185,10 +1176,10 @@ public List<BootVolume> listBootVolumeListByInstanceId(String instanceId) {
List<AvailabilityDomain> availabilityDomains = getAvailabilityDomains(identityClient, compartmentId);
for (AvailabilityDomain availabilityDomain : availabilityDomains) {
List<String> BootVolumeIdList = computeClient.listBootVolumeAttachments(ListBootVolumeAttachmentsRequest.builder()
.availabilityDomain(availabilityDomain.getName())
.compartmentId(compartmentId)
.instanceId(instanceId)
.build()).getItems()
.availabilityDomain(availabilityDomain.getName())
.compartmentId(compartmentId)
.instanceId(instanceId)
.build()).getItems()
.stream().map(BootVolumeAttachment::getBootVolumeId)
.filter(Objects::nonNull)
.collect(Collectors.toList());
Expand Down Expand Up @@ -1501,22 +1492,21 @@ public Ipv6 createIpv6(Vnic vnic, Vcn vcn) {
String vcnId = vcn.getId();

// 添加ipv6 cidr 前缀
List<String> oldIpv6CidrBlocks = vcn.getIpv6PrivateCidrBlocks();
List<String> oldIpv6CidrBlocks = vcn.getIpv6CidrBlocks();
if (null == oldIpv6CidrBlocks || oldIpv6CidrBlocks.isEmpty()) {
try {
virtualNetworkClient.addIpv6VcnCidr(AddIpv6VcnCidrRequest.builder()
.vcnId(vcnId)
.addVcnIpv6CidrDetails(AddVcnIpv6CidrDetails.builder()
.ipv6PrivateCidrBlock(IPV6_CIDR_BLOCK)
.isOracleGuaAllocationEnabled(true)
.build())
.build());
} catch (Exception e) {
if (e.getMessage().contains("requested for VCN are overlapping")) {
log.warn("ipv6PrivateCidrBlock: {} exists", IPV6_CIDR_BLOCK);
} else {
log.error("添加ipv6 cidr 前缀失败", e);
throw new OciException(-1, "添加ipv6 cidr 前缀失败");
}
log.error("添加ipv6 cidr 前缀失败", e);
throw new OciException(-1, "添加ipv6 cidr 前缀失败");
} finally {
vcn = getVcnById(vcn.getId());
oldIpv6CidrBlocks = vcn.getIpv6CidrBlocks();
}
}

Expand Down

0 comments on commit 12675c8

Please sign in to comment.