build/packaging: build tungsten plugin only if noredist is passed (#9006)

This commit is contained in:
Wei Zhou 2024-09-20 10:17:12 +02:00 committed by GitHub
parent ee1cd91e98
commit 9ce7ef49cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 306 additions and 41 deletions

View File

@ -27,18 +27,7 @@
<artifactId>cloudstack</artifactId>
<version>4.19.2.0-SNAPSHOT</version>
</parent>
<repositories>
<repository>
<id>juniper-tungsten-api</id>
<url>https://github.com/radu-todirica/tungsten-api/raw/master</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.juniper.tungsten</groupId>
<artifactId>juniper-tungsten-api</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
@ -282,11 +271,6 @@
<artifactId>cloud-plugin-network-ovs</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-plugin-network-tungsten</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-plugin-network-elb</artifactId>
@ -1088,6 +1072,11 @@
<artifactId>cloud-plugin-network-cisco-vnmc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-plugin-network-tungsten</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-plugin-api-vmware-sioc</artifactId>

View File

@ -83,11 +83,6 @@
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-plugin-network-tungsten</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@ -0,0 +1,64 @@
// 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 org.apache.cloudstack.network.tungsten.agent.api;
import com.cloud.agent.api.Command;
import java.util.Objects;
public class SetupTfRouteCommand extends Command {
private final String privateIp;
private final String publicIp;
private final String srcNetwork;
public SetupTfRouteCommand(final String privateIp, final String publicIp, final String srcNetwork) {
this.privateIp = privateIp;
this.publicIp = publicIp;
this.srcNetwork = srcNetwork;
}
public String getPrivateIp() {
return privateIp;
}
public String getPublicIp() {
return publicIp;
}
public String getSrcNetwork() {
return srcNetwork;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
SetupTfRouteCommand that = (SetupTfRouteCommand) o;
return Objects.equals(privateIp, that.privateIp) && Objects.equals(publicIp, that.publicIp) && Objects.equals(srcNetwork, that.srcNetwork);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), privateIp, publicIp, srcNetwork);
}
@Override
public boolean executeInSequence() {
return false;
}
}

View File

@ -0,0 +1,77 @@
// 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 org.apache.cloudstack.network.tungsten.agent.api;
import com.cloud.agent.api.Command;
import java.util.Objects;
public class SetupTungstenVRouterCommand extends Command {
private final String oper;
private final String inf;
private final String subnet;
private final String route;
private final String vrf;
public SetupTungstenVRouterCommand(final String oper, final String inf, final String subnet, final String route,
final String vrf) {
this.oper = oper;
this.inf = inf;
this.subnet = subnet;
this.route = route;
this.vrf = vrf;
}
public String getOper() {
return oper;
}
public String getInf() {
return inf;
}
public String getSubnet() {
return subnet;
}
public String getRoute() {
return route;
}
public String getVrf() {
return vrf;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
SetupTungstenVRouterCommand that = (SetupTungstenVRouterCommand) o;
return Objects.equals(oper, that.oper) && Objects.equals(inf, that.inf) && Objects.equals(subnet, that.subnet) && Objects.equals(route, that.route) && Objects.equals(vrf, that.vrf);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), oper, inf, subnet, route, vrf);
}
@Override
public boolean executeInSequence() {
return false;
}
}

View File

@ -0,0 +1,83 @@
// 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 org.apache.cloudstack.network.tungsten.agent.api;
import com.cloud.agent.api.Command;
import java.util.Objects;
public class UpdateTungstenLoadbalancerSslCommand extends Command {
private final String lbUuid;
private final String sslCertName;
private final String certificateKey;
private final String privateKey;
private final String privateIp;
private final String port;
public UpdateTungstenLoadbalancerSslCommand(final String lbUuid, final String sslCertName,
final String certificateKey, final String privateKey, final String privateIp, final String port) {
this.lbUuid = lbUuid;
this.sslCertName = sslCertName;
this.certificateKey = certificateKey;
this.privateKey = privateKey;
this.privateIp = privateIp;
this.port = port;
}
public String getLbUuid() {
return lbUuid;
}
public String getSslCertName() {
return sslCertName;
}
public String getCertificateKey() {
return certificateKey;
}
public String getPrivateKey() {
return privateKey;
}
public String getPrivateIp() {
return privateIp;
}
public String getPort() {
return port;
}
@Override
public boolean executeInSequence() {
return false;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
UpdateTungstenLoadbalancerSslCommand that = (UpdateTungstenLoadbalancerSslCommand) o;
return Objects.equals(lbUuid, that.lbUuid) && Objects.equals(sslCertName, that.sslCertName) && Objects.equals(certificateKey, that.certificateKey) && Objects.equals(privateKey, that.privateKey) && Objects.equals(privateIp, that.privateIp) && Objects.equals(port, that.port);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), lbUuid, sslCertName, certificateKey, privateKey, privateIp, port);
}
}

View File

@ -0,0 +1,71 @@
// 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 org.apache.cloudstack.network.tungsten.agent.api;
import com.cloud.agent.api.Command;
import java.util.Objects;
public class UpdateTungstenLoadbalancerStatsCommand extends Command {
private final String lbUuid;
private final String lbStatsPort;
private final String lbStatsUri;
private final String lbStatsAuth;
public UpdateTungstenLoadbalancerStatsCommand(final String lbUuid, final String lbStatsPort,
final String lbStatsUri, final String lbStatsAuth) {
this.lbUuid = lbUuid;
this.lbStatsPort = lbStatsPort;
this.lbStatsUri = lbStatsUri;
this.lbStatsAuth = lbStatsAuth;
}
public String getLbUuid() {
return lbUuid;
}
public String getLbStatsPort() {
return lbStatsPort;
}
public String getLbStatsUri() {
return lbStatsUri;
}
public String getLbStatsAuth() {
return lbStatsAuth;
}
@Override
public boolean executeInSequence() {
return false;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
UpdateTungstenLoadbalancerStatsCommand that = (UpdateTungstenLoadbalancerStatsCommand) o;
return Objects.equals(lbUuid, that.lbUuid) && Objects.equals(lbStatsPort, that.lbStatsPort) && Objects.equals(lbStatsUri, that.lbStatsUri) && Objects.equals(lbStatsAuth, that.lbStatsAuth);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), lbUuid, lbStatsPort, lbStatsUri, lbStatsAuth);
}
}

View File

@ -30,13 +30,6 @@
<relativePath>../../pom.xml</relativePath>
</parent>
<repositories>
<repository>
<id>juniper-tungsten-api</id>
<url>https://github.com/radu-todirica/tungsten-api/raw/master</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.juniper.tungsten</groupId>

View File

@ -111,7 +111,6 @@
<module>network-elements/stratosphere-ssp</module>
<module>network-elements/brocade-vcs</module>
<module>network-elements/vxlan</module>
<module>network-elements/tungsten</module>
<module>outofbandmanagement-drivers/ipmitool</module>
<module>outofbandmanagement-drivers/nested-cloudstack</module>
@ -230,6 +229,7 @@
<module>hypervisors/vmware</module>
<module>network-elements/cisco-vnmc</module>
<module>network-elements/juniper-contrail</module>
<module>network-elements/tungsten</module>
</modules>
</profile>
<profile>

View File

@ -26,12 +26,6 @@
<artifactId>cloudstack</artifactId>
<version>4.19.2.0-SNAPSHOT</version>
</parent>
<repositories>
<repository>
<id>juniper-tungsten-api</id>
<url>https://github.com/radu-todirica/tungsten-api/raw/master</url>
</repository>
</repositories>
<dependencies>
<dependency>
@ -187,11 +181,6 @@
<artifactId>metrics-jvm</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>net.juniper.tungsten</groupId>
<artifactId>juniper-tungsten-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@ -4042,7 +4042,11 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C
addDefaultInternalLbProviderToPhysicalNetwork(pNetwork.getId());
//Add tungsten network service provider
addDefaultTungstenProviderToPhysicalNetwork(pNetwork.getId());
try {
addDefaultTungstenProviderToPhysicalNetwork(pNetwork.getId());
} catch (Exception ex) {
s_logger.warn("Failed to add Tungsten provider to physical network due to:" + ex.getMessage());
}
// Add the config drive provider
addConfigDriveToPhysicalNetwork(pNetwork.getId());