Skip to content

[BUG] Cannot install extension on VM #14480

Description

@esfomeado

Describe the bug
I'm trying to install a CustomScript extension using the sdk but It gives an error saying that the virtual machine does not support updates to the purchase plan.
If I use the azure cli or the website works fine.

The image that I'm using on the vm is bitnami wordpress.

Exception or Stack Trace

2020-08-26 11:55:18.437 ERROR 1116 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.microsoft.azure.CloudException: The resource '/subscriptions/ae01d003-8509-415b-9c84-bf526ddd7d56/resourceGroups/storesResourceGroup/providers/Microsoft.Compute/virtualMachines/Loja07' of type 'Microsoft.Compute/virtualMachines' does not support updates to the purchase plan.: The resource '/subscriptions/ae01d003-8509-415b-9c84-bf526ddd7d56/resourceGroups/storesResourceGroup/providers/Microsoft.Compute/virtualMachines/Loja07' of type 'Microsoft.Compute/virtualMachines' does not support updates to the purchase plan.] with root cause

rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: retrofit2.Response.class
at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:118) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:73) ~[rxjava-1.3.8.jar:1.3.8]
at retrofit2.adapter.rxjava.CallArbiter.deliverResponse(CallArbiter.java:120) ~[adapter-rxjava-2.6.4.jar:na]
at retrofit2.adapter.rxjava.CallArbiter.emitResponse(CallArbiter.java:102) ~[adapter-rxjava-2.6.4.jar:na]
at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:46) ~[adapter-rxjava-2.6.4.jar:na]
at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:24) ~[adapter-rxjava-2.6.4.jar:na]
at rx.Observable.unsafeSubscribe(Observable.java:10327) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33) ~[rxjava-1.3.8.jar:1.3.8]
at rx.Observable.unsafeSubscribe(Observable.java:10327) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeSingle.call(OnSubscribeSingle.java:81) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeSingle.call(OnSubscribeSingle.java:27) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.SingleToObservable.call(SingleToObservable.java:39) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.SingleToObservable.call(SingleToObservable.java:27) ~[rxjava-1.3.8.jar:1.3.8]
at rx.Observable.unsafeSubscribe(Observable.java:10327) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ~[rxjava-1.3.8.jar:1.3.8]
at rx.Observable.unsafeSubscribe(Observable.java:10327) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.DeferredScalarSubscriber.subscribeTo(DeferredScalarSubscriber.java:153) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeTakeLastOne.call(OnSubscribeTakeLastOne.java:32) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeTakeLastOne.call(OnSubscribeTakeLastOne.java:22) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ~[rxjava-1.3.8.jar:1.3.8]
at rx.Observable.unsafeSubscribe(Observable.java:10327) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33) ~[rxjava-1.3.8.jar:1.3.8]
at rx.Observable.unsafeSubscribe(Observable.java:10327) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33) ~[rxjava-1.3.8.jar:1.3.8]
at rx.Observable.unsafeSubscribe(Observable.java:10327) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33) ~[rxjava-1.3.8.jar:1.3.8]
at rx.Observable.unsafeSubscribe(Observable.java:10327) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.call(OperatorSubscribeOn.java:100) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) ~[rxjava-1.3.8.jar:1.3.8]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

To Reproduce
1 - Create a VM and using the Wordpress image of bitnami.
2 - Try to install a extension using the following code.
3 - Error occurs.

Code Snippet

        final String linuxCustomScriptExtensionName = "CustomScript";
        final String linuxCustomScriptExtensionPublisherName = "Microsoft.Azure.Extensions";
        final String linuxCustomScriptExtensionTypeName = "CustomScript";
        final String linuxCustomScriptExtensionVersionName = "2.0";
        final List<String> linuxScriptFileUris = new ArrayList<>();
        linuxScriptFileUris.add("...");

            VirtualMachine vm = azure.virtualMachines().getByResourceGroup("storesResourceGroup",
                    storeName);

            vm.update()
                    .defineNewExtension(linuxCustomScriptExtensionName)
                    .withPublisher(linuxCustomScriptExtensionPublisherName)
                    .withType(linuxCustomScriptExtensionTypeName)
                    .withVersion(linuxCustomScriptExtensionVersionName)
                    .withMinorVersionAutoUpgrade()
                    .withPublicSetting("fileUris", linuxScriptFileUris)
                    .withPublicSetting("commandToExecute", "bash install.sh " + info.getUrl() + " " + info.getTitle() + " " + info.getLanguage())
                    .attach()
                    .apply();

Expected behavior
Should install the extension with success.

Setup (please complete the following information):

  • OS: Windows 10
  • IDE : Intellij
  • Version of the Library used: 1.36.1

Additional context
Add any other context about the problem here.

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

  • Bug Description Added
  • Repro Steps Added
  • Setup information Added

Metadata

Metadata

Labels

ComputeMgmtThis issue is related to a management-plane library.bugThis issue requires a change to an existing behavior in the product in order to be resolved.customer-reportedIssues that are reported by GitHub users external to the Azure organization.issue-addressedWorkflow: The Azure SDK team believes it to be addressed and ready to close.

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions